#include "stdafx.h"

DESCRIPTION_11_TEST_SUITE(DepthStencilOpDescription)

BOOST_FIXTURE_TEST_CASE(Default, TestDepthStencilOpDescription)
{
	BOOST_REQUIRE_EQUAL(D3D11_STENCIL_OP_KEEP, m_desc.StencilFailOp);
	BOOST_REQUIRE_EQUAL(D3D11_STENCIL_OP_KEEP, m_desc.StencilDepthFailOp);
	BOOST_REQUIRE_EQUAL(D3D11_STENCIL_OP_KEEP, m_desc.StencilPassOp);
	BOOST_REQUIRE_EQUAL(D3D11_COMPARISON_ALWAYS, m_desc.StencilFunc);
}

#define DEPTH_STENCIL_OP_DESCRIPTION_TEST_CASE(type_, name_, value_) \
	DESCRIPTION_11_SETTER_TEST_CASE(type_, name_, value_, DepthStencilOpDescription)

DEPTH_STENCIL_OP_DESCRIPTION_TEST_CASE(D3D11_STENCIL_OP, StencilFailOp, D3D11_STENCIL_OP_REPLACE)
DEPTH_STENCIL_OP_DESCRIPTION_TEST_CASE(D3D11_STENCIL_OP, StencilDepthFailOp, D3D11_STENCIL_OP_REPLACE)
DEPTH_STENCIL_OP_DESCRIPTION_TEST_CASE(D3D11_STENCIL_OP, StencilPassOp, D3D11_STENCIL_OP_REPLACE)
DEPTH_STENCIL_OP_DESCRIPTION_TEST_CASE(D3D11_COMPARISON_FUNC, StencilFunc, D3D11_COMPARISON_NEVER)

BOOST_AUTO_TEST_SUITE_END()
